package com.essc.mapper;

import com.essc.dto.BuyerDto;
import com.essc.dto.SellerDto;
import com.essc.pojo.User;
import org.apache.ibatis.annotations.Param;
import java.util.List;


public interface UserMapper {

    //查看所有用户信息
    List<User> findAllUser();

    /**
     * 谢明晓
     * 前台登录注册模块
     */

    //根据用户名和密码查询用户（登录）
    User findUserByUsernameAndPassword(@Param("username") String username, @Param("password") String password);

    //根据用户名查找盐值（登录时使用）
    String findSaltByUsername(@Param("username") String username);

    //插入新用户（注册） 新增手机号码 洪志成改
    int insertUser(@Param("username") String username, @Param("password") String password,@Param("tel") String tel, @Param("salt") String salt);

    //注册时查询用户手机号码是否已存在（注册时使用）洪志成加
    String findTelByTel(@Param("tel") String tel);

    //注册时查询用户名是否已存在（注册时使用）
    String findUsernameByUsername(@Param("username") String username);

    /**
     * 陈畅润
     * 前台完善用户信息模块
     */

    //根据id查找用户信息
    public User findUserById(int uid);

    //根据id修改用户密码
    public int updatePwdById(@Param("uid") int uid, @Param("password") String password);

    //完善用户信息
    public int updateUserInfo(User user);

    /**
     * 志成
     * 购买业务所需
     * @param uid
     * @return
     */
    //查看用户个人信息
    User findUserInfoByUid(Integer uid);

    //支付成功-扣款
    int deductMoney(@Param("uid") Integer uid, @Param("money") double money);

    //充值
    int recharge(@Param("uid") Integer uid, @Param("newmoney") double newmoney);

    //查询buyerInfo
    BuyerDto findBuyerInfo(Integer uid);

    //查询sellerInfo
    SellerDto findSellerInfo(Integer uid);

}
